package espacokidsadm.modelo.dao.impl;

import java.util.List;

import javax.persistence.EntityTransaction;

import espacokidsadm.modelo.dao.Dao;
import espacokidsadm.modelo.entity.Funcionario;


public class FuncionarioDAO extends Dao {

	private static final long serialVersionUID = 1027428593735080836L;

	public Funcionario salvar(Funcionario funcionario) {
		
		EntityTransaction transaction = getEm().getTransaction();
		transaction.begin();
		
		if(funcionario.getId() == null)
			getEm().persist(funcionario);
		else
			getEm().merge(funcionario);
		
		transaction.commit();
		
		return getById(funcionario.getId());
	}


	public Funcionario getById(Integer id) {
		return getPojo(Funcionario.class, id);
	}

	public Funcionario getByCpf(final String cpfProcurado){
		return getPojo(Funcionario.class, "from Funcionario func where func.pessoa.cpf = ?1", cpfProcurado);
	}
	
	public List<Funcionario> getTodos() {
		return getList(Funcionario.class, "select us from Funcionario us order by us.pessoa.nome");
	}

}
